When viewing a document online, such as in a word processor or Internet browser, it is often difficult to navigate through sections of the document if the document is lengthy. Finding a particular passage of text or section by simply scrolling through the long document can be difficult and time consuming. It can be helpful to have a table-of-contents in a window beside the document to help navigate the document. The table-of-contents can be hyperlinked to selected sections of the document such that triggering a particular link in the table-of-contents moves the focus of the word processor or Internet browser to the desired section of the document. For this discussion, the term “hyperlinked” means an association between a “link” in a first (“source”) document and an “anchor” in a second (“target”) document. Triggering the link in the source document brings the screen of the target document containing the anchor into focus. For this discussion, the term “focus” relates to the active screen display available to the user for viewing.
From a typical user's perspective, existing mechanisms for creating a table-of-contents hyperlinked to a target document are flawed. For instance, word processors can create a table-of-contents hyperlinked to selected portions of the target document. However, existing word processors merely create a table-of-contents within the same document. Unfortunately, to view the table-of-contents and the target document side-by-side in a HyperText Markup Language (“HTML”) frameset, the two should be in separate documents. For this discussion, the term “frameset” means a group of windows owned by a single software program module, where each window displays the contents of a different document. Existing word processors do not provide the ability to view the table-of-contents and the target document side-by-side in an HTML frameset, such as with an Internet browser. For that reason, the table-of-contents and target document cannot be easily opened by an Internet browser for online viewing.
Certain HTML editors can create an HTML frameset containing a target document in one frame and a table-of-contents document in a second frame, with the table-of-contents document hyperlinked to selected sections of the target document. This solution allows the table-of-contents and the target document to be viewed online over the Internet. However, maintaining the validity of the hyperlinks in the table-of-contents is a tedious and time-consuming process for an evolving document. For HTML editors, a change made to the target document cannot be reflected in the table-of-contents document without manually editing the table-of-contents document.
Accordingly, a need exists for a mechanism to create an HTML frameset having a target document in one frame and a separate table-of-contents document in another frame, with the table-of-contents document hyperlinked to selected sections of the target document. Moreover, the mechanism should be self-updating such that a change in a selected section of the target document will be reflected in the table-of-contents document without the need to manually edit the hyperlinks in the table-of-contents document.